package com.java.second_goods.service;

import com.java.second_goods.entity.Banner;

import java.util.List;

/**
 * 轮播图 服务层
 */
public interface BannerService {
    /**
     * 查询轮播图信息
     *
     * @param id 轮播图ID
     * @return 轮播图信息
     */
    Banner selectBannerById(Integer id);

    /**
     * 查询轮播图列表
     *
     * @param banner 轮播图信息
     * @return 轮播图集合
     */
    List<Banner> selectBannerList(Banner banner);

    /**
     * 查询有效的轮播图列表
     *
     * @return 轮播图列表
     */
    List<Banner> selectEnabledBanners();

    /**
     * 根据类型查询轮播图列表
     *
     * @param type 类型
     * @return 轮播图列表
     */
    List<Banner> selectBannersByType(String type);

    /**
     * 新增轮播图
     *
     * @param banner 轮播图信息
     * @return 结果
     */
    int insertBanner(Banner banner);

    /**
     * 修改轮播图
     *
     * @param banner 轮播图信息
     * @return 结果
     */
    int updateBanner(Banner banner);

    /**
     * 删除轮播图信息
     *
     * @param id 轮播图ID
     * @return 结果
     */
    int deleteBannerById(Integer id);

    /**
     * 批量删除轮播图信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteBannerByIds(Integer[] ids);

    /**
     * 更新轮播图状态
     *
     * @param bannerId 轮播图ID
     * @param status 状态
     * @return 结果
     */
    int updateBannerStatus(Integer bannerId, Integer status);
}